package com.sh.data.engine.domain.common.model.domain;

import com.alibaba.fastjson.annotation.JSONField;


public class JoinRelationship extends Relationship {
    @JSONField(ordinal = 3)
    private String joinType;

    @JSONField(ordinal = 4)
    private String clause;

    @JSONField(ordinal = 5)
    private String condition;

    public void setJoinType(String joinType) {
        this.joinType = joinType;
    }

    public void setClause(String clause) {
        this.clause = clause;
    }

    public void setCondition(String condition) {
        this.condition = condition;
    }

    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof JoinRelationship))
            return false;
        JoinRelationship other = (JoinRelationship) o;
        if (!other.canEqual(this))
            return false;
        Object this$joinType = getJoinType(), other$joinType = other.getJoinType();
        if ((this$joinType == null) ? (other$joinType != null) : !this$joinType.equals(other$joinType))
            return false;
        Object this$clause = getClause(), other$clause = other.getClause();
        if ((this$clause == null) ? (other$clause != null) : !this$clause.equals(other$clause))
            return false;
        Object this$condition = getCondition(), other$condition = other.getCondition();
        return !((this$condition == null) ? (other$condition != null) : !this$condition.equals(other$condition));
    }

    protected boolean canEqual(Object other) {
        return other instanceof JoinRelationship;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Object $joinType = getJoinType();
        result = result * 59 + (($joinType == null) ? 43 : $joinType.hashCode());
        Object $clause = getClause();
        result = result * 59 + (($clause == null) ? 43 : $clause.hashCode());
        Object $condition = getCondition();
        return result * 59 + (($condition == null) ? 43 : $condition.hashCode());
    }

    public String toString() {
        return "JoinRelationship(joinType=" + getJoinType() + ", clause=" + getClause() + ", condition=" + getCondition() + ")";
    }

    public String getJoinType() {
        return this.joinType;
    }

    public String getClause() {
        return this.clause;
    }

    public String getCondition() {
        return this.condition;
    }
}